Method and Apparatus for Acquiring Program Information

ABSTRACT

A method receives, by a first user device, content from a second user device. The content was previously provided through a transmission from a distribution system to the second user device. The method receives, by the first user device from the second user device, transmission data indicative of the previous transmission of the content from the distribution system to the second user device. The method sends, by the first user device to a server, a request for program data associated with the content. Responsive to the request, the method receives, by the first user device, the program data that identifies a title of the content. The program data is identified using the transmission data that is specific to the previous transmission of the content.

RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 11/969,036, filed on Jan. 3, 2008, which is hereinincorporated by reference.

BACKGROUND

This disclosure generally relates to the field of audio/visual content.More particularly, the disclosure relates to data associated withrecording of audio/visual content.

GENERAL BACKGROUND

A variety of devices currently allow for the recording of audio/visualcontent. For instance, a set-top box (“STB”) may allow for theacquisition of content (e.g., tuning to a Radio Frequency QuadratureAmplitude Modulation (“RF QAM”) carrier delivering audio/video services)from a service provider and the recording of the content on a storagemedium (e.g., hard disk drive) associated with the STB. In order torecord the content, the STB often has to have a third-party softwareapplication that initiates the recording. Further, informationassociated with the recording content is often recorded with theaudio/video of the program in a proprietary manner such that only theapplication itself may decode the recorded information. Examples of suchinformation include program title/name, description of the program, etc.

Developments have allowed the transferring of data from a STB to aperipheral device so that a user may view/listen to the recorded contenton the peripheral device. The recorded content may be transferred fromthe STB to the peripheral device without the aid of the application thatmanaged the recording of said content. When transferring content to aperipheral device without the aid of the application that managed therecorded content, the recording device simply copies/moves data blocksthat constitute the recorded content to the peripheral device. However,the information corresponding to the recording content is not sent withthe recorded content. As a result, the peripheral device has theaudio/video packets needed to decode and playback the copied/movedrecorded content. However, the information that describes the recordedcontent is not available for display to the viewer. For instance, anelectronic programming guide (“EPG”) does not have descriptiveinformation of the recorded content that facilitates selection ofcontent by the user.

SUMMARY

In one aspect of the disclosure, a process is provided. The processreceives content from a recording device. The content is providedthrough a transmission from a distribution system to the recordingdevice and recorded by the recording device on a storage mediumassociated with the recording device. Further, the process receives,from the recording device, transmission data corresponding to therecorded content. The transmission data indicates one or moretransmission identifiers that identify the transmission. In addition,the process sends the transmission data to a server. Finally, theprocess receives, from the server, program data that is descriptive ofthe content.

In another aspect of the disclosure, a computer program product isprovided. The computer program product comprises a computer useablemedium having a computer readable program. When executed on a computer,the computer readable program causes the computer to receive contentfrom a recording device. The content is provided through a transmissionfrom a distribution system to the recording device and recorded by therecording device on a storage medium associated with the recordingdevice. Further, the computer is caused to receive, from the recordingdevice, transmission data corresponding to the recorded content. Thetransmission data indicates one or more transmission identifiers thatidentify the transmission. In addition, the computer is caused to sendthe transmission data to a server. Finally, the computer is caused toreceive, from the server, program data that is descriptive of thecontent.

In yet another aspect of the disclosure, a peripheral device includes acontent reception module that receives content from a recording device.The content is provided through a transmission from a distributionsystem to the recording device and recorded by the recording device on astorage medium associated with the recording device. Further, theperipheral device receives transmission data corresponding to therecorded content from the recording device, the transmission dataindicating one or more transmission identifiers that identify thetransmission. In addition, the peripheral device includes a transmissiondata query module that sends the transmission data to a server. Finally,the peripheral device includes a program data reception module thatreceives, from the server, program data that is descriptive of thecontent.

BRIEF DESCRIPTION OF THE DRAWINGS

The above-mentioned features of the present disclosure will become moreapparent with reference to the following description taken inconjunction with the accompanying drawings wherein like referencenumerals denote like elements and in which:

FIG. 1 illustrates a configuration that may be utilized by a recordingdevice to record content.

FIG. 2 illustrates a configuration that may be utilized by a peripheraldevice to obtain the content from the recording device.

FIG. 3 illustrates a configuration that may be utilized by theperipheral device to determine the program information corresponding tothe recorded content obtained from the recording device.

FIG. 4 illustrates a process that may be utilized to acquire programinformation.

FIG. 5 illustrates a block diagram of a station or system that providesprogram information acquisition.

DETAILED DESCRIPTION

A method and apparatus are disclosed that acquire program information.The program information may correspond to recorded audio/video contentthat is recorded in a proprietary manner. Further, the audio/videocontent may be copied/moved from a recording device to a peripheraldevice. The recording device may be a set top box (“STB”), digital videorecorder (“DVR”), or any other device that is capable of recordingaudio/video content. Further, the peripheral device may be a portablemedia player (“PMP”), mp3 player, or any other device that is capable ofcommunicating with the recording device so that the audio/video contentis copied/moved to the peripheral device.

In one embodiment, the peripheral device is operably connected to therecording device to receive the recorded audio/video content. Forexample, the peripheral device may be connected to the recording devicevia a cable. In another embodiment, the peripheral device maycommunicate wirelessly with the recording device. For example, infraredcommunication may be utilized.

The recording device retains additional information that is not directlyassigned to the content by the content owner/originator and not acquiredfrom a third-party application. For example, the recording deviceretains information associated with the tuning/acquisition of thecontent. Examples of such information include frequency, modulationmode, program identifier (“PID”), virtual channel map identifier (“ID”),source ID, source name, time stamp, etc. The recording device then sendsthis data associated with a recording to a service provider. When therecorded content is copied/moved from the recording device to aperipheral device, the peripheral device communicates with an externaldevice to request the data associated with the recorded content. In oneembodiment, the peripheral device connects to the service provider's website to make this request. Further, the service provider can thenprovide the peripheral device with the data associated with the recordedcontent. In another embodiment, the peripheral device connects to somethird party device to request data related to the recorded content. Inother words, the server used to retrieve program data by the portabledevice can be the same or optionally a different server than the oneused to obtain the program data by the application in the recordingdevice.

To provide such a configuration, the recording device retainsinformation available to the lower level firmware, i.e., informationthat is not dependent on and/or obtained from a third-party application.Accordingly, the peripheral device that copies/moves the content may beable to perform a look up of the content information based on the dataretained by the lower level firmware. As an example, cable plantspecific data, e.g. channel map info, tuning info, etc., may be utilizedto derive detailed information about content transmitted on the cableplant.

FIG. 1 illustrates a configuration 100 that may be utilized by arecording device 102 to record content. A distribution system 104provides the content to the recording device 102 through a network 110.In one embodiment, the distribution system 104 is an audio/videodistribution system. For example, the distribution system 104 may be astreaming audio/video server. The network 110 may be a Hybrid Fiber-Coax(“HFC”) network, fiber network, wireless network, etc. In one embodimentthe distribution system 104 communicates with a conditional accesssystem to encrypt the content.

Further, the distribution system 104 stores transmission data regardingthe transmission of the content to the recording device 102. Thetransmission data includes one or more transmission identifiers that canidentify the particular transmission. For example, the one or moretransmission identifiers may include a frequency, a modulation mode, aprogram identifier, a virtual channel map identifier, a sourceidentifier, a source name, a time stamp, an Internet Protocol (“IP”)source address, an IP destination address, a User Datagram Protocol(“UDP”) source port, a UDP destination port, a Transmission ControlProtocol (“TCP”) source port, a TCP destination port, and/or anycombination of the above-listed transmission identifiers. In oneembodiment, the distribution system 104 stores the transmission data indatabase 106 so that a query may be later performed to find thetransmission data for particular content that was provided to thedistribution system 104.

The recording device 102 receives the content data, program data, andtransmission data from the distribution system 104. In one embodiment,the recording device 102 has a tuner, demodulator, and/or demultiplexorto facilitate receiving the content. Further, the recording device 102records both the content and the transmission data on to a storagemedium 108, e.g., a hard drive. In one embodiment, the recording device102 may have one or more keys that provide cryptographic access to thecontent. In addition, an application 112 that initiates the recordingutilizes a proprietary encoding/decoding mechanism to encode/decode theprogram metadata. The recording device 102 associates the content datawith the program metadata so that the recording device can provideplayback of the content and display the corresponding programinformation. For example, for a first recording, the recording device102 associates first content information, e.g., the correspondingcryptographic key for the first content data, with the first programinformation managed by the application 112. For a second recording, therecording device 102 associates second content information, e.g., thecorresponding cryptographic key for the second content data, with thesecond program information managed by the application 112. In oneembodiment, the first recording and the second recording are differentprograms. In another embodiment, the first recording and the secondrecording are for different sets of data of the same program.

Accordingly, the application 112 displays the program informationcorresponding to particular content when requested by the user. Forexample, the program information may provide information through variousmenus to allow the user to make a selection of content.

FIG. 2 illustrates a configuration 200 that may be utilized by aperipheral device 202 to obtain the content from the recording device102. At some point, the user may want to move/copy the recorded contentfrom the recording device 102 to the peripheral device 202. Accordingly,the peripheral device 202 communicates, e.g., through a cableconnection, with the recording device 102. An example of a cableconnection is a digital interface such as Universal Serial Bus (“USB”).The recorded content and the transmission information are provided fromthe recording device 102 to the peripheral device 202.

FIG. 3 illustrates a configuration 300 that may be utilized by theperipheral device 202 to determine the program information correspondingto the recorded content obtained from the recording device 102. Theperipheral device 202 utilizes the transmission data received from therecording device 102 to determine the program information. As a result,the application 112 does not need to be involved in the copy/move of therecorded content from the recording device 102 to the peripheral device202.

The peripheral device 202 may autonomously attempt to determine theprogram information. Alternatively, the peripheral device 202 may waitfor a user interaction to attempt to determine the program information.

To determine the program information, the peripheral device 202 connectsto the network 110 that is connected to a server 302. For example, thenetwork may be connected to the server 302 by being connected to aservice provider's distribution system that includes the server 302. Inone embodiment, the server 302 is part of the same distribution system104, as shown in FIG. 1, that provided the content. In anotherembodiment, the server 302 is distinct from the distribution system 104,but has access to the program information corresponding to the content.

In one embodiment, the peripheral device 202 operably communicates witha computing device, e.g., through a cable connection or infraredcommunication, to connect to the network 110 through a web site. Forexample, the user may utilize a personal computer (“PC”) that isconnected to a DOCSIS modem or directly to the DOCSIS modem via awireless connection such as 802.11.

Accordingly, the peripheral device 202 then initiates communication withthe server 302. Once communication is established, the peripheral device202 may provide the transmission data to the server 302. Accordingly,the server 302 can then query the database 106 to determine the programinformation for the particular recording that that was sent during thetransmission for the recording.

As an example, the peripheral device 202 may provide record start/stoptime, tuned frequency, virtual channel, and source 10. The server 106would look in its database 106 for a program that wastransmitted/broadcast during the provided time, and was assigned theparticular virtual channel and source 10. If a match is found, then theserver 302 transmits the program data to the peripheral device 202. Theperipheral device 202 stores the program data locally for use with thegraphical user interface (“GUI”) presentation of the content.Accordingly, the peripheral device 202 may associate the transmissiondata with program information for each recording. For instance, thetransmission data for the first recording may be associated with theprogram information for the first recording. Further, the transmissiondata for the second recording may be associated with the programinformation for the second recording.

FIG. 4 illustrates a process 400 that may be utilized to acquire programinformation. At a process block 402, the process 400 receives contentfrom a recording device. The content is provided through a transmissionfrom a server to the recording device and recorded by the recordingdevice on a storage medium associated with the recording device.Further, at a process block 404, the process 400 receives, from therecording device, transmission data corresponding to the recordedcontent. The transmission data indicates one or more transmissionidentifiers that identify the transmission. In addition, at a processblock 406, the process 400 sends the transmission data to a server.Finally, at a process block 408, the process 400 receives, from theserver, program data that is descriptive of the content.

The process 400 shown in FIG. 4 may be implemented in a general,multipurpose or single purpose processor. Such a processor will executeinstructions, either at the assembly, compiled or machine-level, toperform that process. Those instructions can be written by one ofordinary skill in the art following the description of FIG. 4 and storedor transmitted on a computer readable medium. The instructions may alsobe created using source code or any other known computer-aided designtool. A computer readable medium may be any medium capable of carryingthose instructions and include a CD-ROM, DVD, magnetic or other opticaldisc, tape, silicon memory (e.g., removable, non-removable, volatile ornon-volatile), packetized or non-packetized wireline or wirelesstransmission signals.

FIG. 5 illustrates a block diagram of a station or system 500 thatprovides program information acquisition. In one embodiment, the stationor system 500 is implemented using a general purpose computer or anyother hardware equivalents. Thus, the station or system 500 comprises aprocessor 510, a memory 520, e.g., random access memory (“RAM”) and/orread only memory (ROM), a program information acquisition module 540,and various input/output devices 530, (e.g., e.g., audio/video outputsand audio/video inputs, storage devices, including but not limited to, atape drive, a floppy drive, a hard disk drive or a compact disk drive, areceiver, a transmitter, a speaker, a display, an image capturingsensor, e.g., those used in a digital still camera or digital videocamera, a clock, an output port, a user input device (such as akeyboard, a keypad, a mouse, and the like, or a microphone for capturingspeech commands). The program information acquisition module 540 mayinclude one or more processors, and/or corresponding code.

It should be understood that the program information acquisition module540 may be implemented as one or more physical devices that are coupledto the processor. Alternatively, the program information acquisitionmodule 540 may be represented by one or more software applications (oreven a combination of software and hardware, e.g., using applicationspecific integrated circuits (ASIC)), where the software is loaded froma storage medium, (e.g., a magnetic or optical drive or diskette) andoperated by the processor in the memory 520 of the computer. As such,the program information acquisition module 540 (including associateddata structures) of the present disclosure may be stored on a computerreadable medium, e.g., RAM memory, magnetic or optical drive or disketteand the like.

It is understood that the program information acquisition approachdescribed herein may also be applied in other types of systems. Thoseskilled in the art will appreciate that the various adaptations andmodifications of the embodiments of this method and apparatus may beconfigured without departing from the scope and spirit of the presentmethod and system. Therefore, it is to be understood that, within thescope of the appended claims, the present method and apparatus may bepracticed other than as specifically described herein.

We claim:
 1. A method comprising: receiving, by a first user device,content from a second user device, the content being previously providedthrough a transmission from a distribution system to the second userdevice; receiving, by the first user device from the second user device,transmission data indicative of the previous transmission of the contentfrom the distribution system to the second user device; sending, by thefirst user device to a server, a request for program data associatedwith the content, wherein the request comprises the transmission datathat is indicative of the previous transmission of the content from thedistribution system to the second user device; and responsive to therequest, receiving, by the first user device, the program data thatidentifies a title of the content, wherein the program data isidentified using the transmission data that is specific to the previoustransmission of the content.
 2. The method of claim 1, wherein thecontent comprises video content or audio content.
 3. The method of claim1, wherein the transmission data comprises one or more transmissionidentifiers that identify and are specific to the previous transmissionof the content from the distribution system to the second user device,and wherein the program data is identified using the one or moretransmission identifiers.
 4. The method of claim 1, wherein the seconduser device is a set top box.
 5. The method of claim 1, furthercomprising responsive to receiving the program data, causing apresentation of the title of the content on the first user device. 6.The method of claim 1, wherein the transmission data comprises a programidentifier.
 7. The method of claim 1, wherein the transmission datacomprises a virtual channel map identifier.
 8. The method of claim 1,wherein the transmission data comprises a source identifier.
 9. Themethod of claim 1, wherein the transmission data comprises a sourcename.
 10. The method of claim 1, wherein the transmission data comprisesa time stamp.
 11. The method of claim 1, wherein the program datacomprises a description of the content.
 12. The method of claim 1,wherein the transmission data is unrelated to another transmission fromthe distribution system to another recording device.
 13. The method ofclaim 1, wherein the transmission data is unrelated to a transmission ofthe content from the second user device to the first user device.
 14. Anon-transitory computer readable medium comprising instruction that,responsive to execution by a processor, cause the processor to: receive,by the processor of a first user device, content from a second userdevice, the content being previously provided through a transmissionfrom a distribution system to the second user device; receive, by thefirst user device from the second user device, transmission dataindicative of the previous transmission of the content from thedistribution system to the second user device; send, by the first userdevice to a server, a request for program data associated with thecontent, wherein the request comprises the transmission data that isindicative of the previous transmission of the content from thedistribution system to the second user device; and responsive to therequest, receive, by the first user device, the program data thatidentifies a title of the content, wherein the program data isidentified using the transmission data is specific to the previoustransmission of the content.
 15. The non-transitory computer readablemedium of claim 14, wherein the program data comprises a description ofthe content.
 16. The non-transitory computer readable medium of claim14, wherein the transmission data comprises a program identifier. 17.The non-transitory computer readable medium of claim 14, wherein thetransmission data comprises a virtual channel map identifier.
 18. Afirst user device comprising: a memory; and a processor, coupled to thememory, to: receiving, by the processor of the first user device,content from a second user device, the content being previously providedthrough a transmission from a distribution system to the second userdevice; receiving, by the first user device from the second user device,transmission data indicative of the previous transmission of the contentfrom the distribution system to the second user device; sending, by thefirst user device to a server, a request for program data associatedwith the content, wherein the request comprises the transmission datathat is indicative of the previous transmission of the content from thedistribution system to the second user device; and responsive to therequest, receiving, by the first user device, the program data thatidentifies a title of the content, wherein the program data isidentified using the transmission data that is specific to the previoustransmission of the content.
 19. The first user device of claim 18,wherein the content comprises video content.
 20. The first user deviceof claim 18, wherein the transmission data is unrelated to atransmission of the content from the second user device to the firstuser device.